package org.xiji.composite;

/**
 * 组合模式测试类
 */
public class CompositeMain {

    public static void main(String[] args) {
        /**
         * 创建一个根文件
         */
        Folder root = new Folder();
        root.name = "root";

        //创建视频文件夹
        Folder video = new Folder();
        video.name = "视频文件夹";
        //创建个人文件夹
        Folder personal = new Folder();
        personal.name = "个人文件夹";
        //创建视频文件
        Documents videoDocuments = new Documents();
        videoDocuments.name = "视频文件";
        //创建文本文件
        Documents textDocuments = new Documents();
        textDocuments.name = "文本文件";
        //创建音频文件
        Documents audioDocuments = new Documents();
        audioDocuments.name = "音频文件";
        //创建图片文件
        Documents imageDocuments = new Documents();
        imageDocuments.name = "图片文件";

        //为视频文件夹添加文件
        video.add(videoDocuments);
        video.add(audioDocuments);
        //为个人文件夹添加文件
        personal.add(imageDocuments);
        personal.add(textDocuments);
        //为根节点添加文件
        root.add(video);

        root.add(personal);

        video.add(videoDocuments);
        //操作做Component的operation方法

        root.operation();

    }
}
